﻿using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using Google.Protobuf;
using Google.Protobuf.Reflection;

namespace EggLink.DanhengServer.Proto
{
	// Token: 0x020011A7 RID: 4519
	[DebuggerDisplay("{ToString(),nq}")]
	public sealed class SharePunkLordMonsterCsReq : IMessage<SharePunkLordMonsterCsReq>, IMessage, IEquatable<SharePunkLordMonsterCsReq>, IDeepCloneable<SharePunkLordMonsterCsReq>, IBufferMessage
	{
		// Token: 0x1700392C RID: 14636
		// (get) Token: 0x0600CA4B RID: 51787 RVA: 0x002210EB File Offset: 0x0021F2EB
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageParser<SharePunkLordMonsterCsReq> Parser
		{
			get
			{
				return SharePunkLordMonsterCsReq._parser;
			}
		}

		// Token: 0x1700392D RID: 14637
		// (get) Token: 0x0600CA4C RID: 51788 RVA: 0x002210F2 File Offset: 0x0021F2F2
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public static MessageDescriptor Descriptor
		{
			get
			{
				return SharePunkLordMonsterCsReqReflection.Descriptor.MessageTypes[0];
			}
		}

		// Token: 0x1700392E RID: 14638
		// (get) Token: 0x0600CA4D RID: 51789 RVA: 0x00221104 File Offset: 0x0021F304
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		MessageDescriptor IMessage.Descriptor
		{
			get
			{
				return SharePunkLordMonsterCsReq.Descriptor;
			}
		}

		// Token: 0x0600CA4E RID: 51790 RVA: 0x0022110B File Offset: 0x0021F30B
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public SharePunkLordMonsterCsReq()
		{
		}

		// Token: 0x0600CA4F RID: 51791 RVA: 0x00221113 File Offset: 0x0021F313
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public SharePunkLordMonsterCsReq(SharePunkLordMonsterCsReq other) : this()
		{
			this.uid_ = other.uid_;
			this.shareType_ = other.shareType_;
			this.monsterId_ = other.monsterId_;
			this._unknownFields = UnknownFieldSet.Clone(other._unknownFields);
		}

		// Token: 0x0600CA50 RID: 51792 RVA: 0x00221150 File Offset: 0x0021F350
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public SharePunkLordMonsterCsReq Clone()
		{
			return new SharePunkLordMonsterCsReq(this);
		}

		// Token: 0x1700392F RID: 14639
		// (get) Token: 0x0600CA51 RID: 51793 RVA: 0x00221158 File Offset: 0x0021F358
		// (set) Token: 0x0600CA52 RID: 51794 RVA: 0x00221160 File Offset: 0x0021F360
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint Uid
		{
			get
			{
				return this.uid_;
			}
			set
			{
				this.uid_ = value;
			}
		}

		// Token: 0x17003930 RID: 14640
		// (get) Token: 0x0600CA53 RID: 51795 RVA: 0x00221169 File Offset: 0x0021F369
		// (set) Token: 0x0600CA54 RID: 51796 RVA: 0x00221171 File Offset: 0x0021F371
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public PunkLordShareType ShareType
		{
			get
			{
				return this.shareType_;
			}
			set
			{
				this.shareType_ = value;
			}
		}

		// Token: 0x17003931 RID: 14641
		// (get) Token: 0x0600CA55 RID: 51797 RVA: 0x0022117A File Offset: 0x0021F37A
		// (set) Token: 0x0600CA56 RID: 51798 RVA: 0x00221182 File Offset: 0x0021F382
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public uint MonsterId
		{
			get
			{
				return this.monsterId_;
			}
			set
			{
				this.monsterId_ = value;
			}
		}

		// Token: 0x0600CA57 RID: 51799 RVA: 0x0022118B File Offset: 0x0021F38B
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override bool Equals(object other)
		{
			return this.Equals(other as SharePunkLordMonsterCsReq);
		}

		// Token: 0x0600CA58 RID: 51800 RVA: 0x0022119C File Offset: 0x0021F39C
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public bool Equals(SharePunkLordMonsterCsReq other)
		{
			return other != null && (other == this || (this.Uid == other.Uid && this.ShareType == other.ShareType && this.MonsterId == other.MonsterId && object.Equals(this._unknownFields, other._unknownFields)));
		}

		// Token: 0x0600CA59 RID: 51801 RVA: 0x002211F8 File Offset: 0x0021F3F8
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override int GetHashCode()
		{
			int num = 1;
			if (this.Uid != 0U)
			{
				num ^= this.Uid.GetHashCode();
			}
			if (this.ShareType != PunkLordShareType.None)
			{
				num ^= this.ShareType.GetHashCode();
			}
			if (this.MonsterId != 0U)
			{
				num ^= this.MonsterId.GetHashCode();
			}
			if (this._unknownFields != null)
			{
				num ^= this._unknownFields.GetHashCode();
			}
			return num;
		}

		// Token: 0x0600CA5A RID: 51802 RVA: 0x0022126F File Offset: 0x0021F46F
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public override string ToString()
		{
			return JsonFormatter.ToDiagnosticString(this);
		}

		// Token: 0x0600CA5B RID: 51803 RVA: 0x00221277 File Offset: 0x0021F477
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void WriteTo(CodedOutputStream output)
		{
			output.WriteRawMessage(this);
		}

		// Token: 0x0600CA5C RID: 51804 RVA: 0x00221280 File Offset: 0x0021F480
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalWriteTo(ref WriteContext output)
		{
			if (this.ShareType != PunkLordShareType.None)
			{
				output.WriteRawTag(64);
				output.WriteEnum((int)this.ShareType);
			}
			if (this.Uid != 0U)
			{
				output.WriteRawTag(88);
				output.WriteUInt32(this.Uid);
			}
			if (this.MonsterId != 0U)
			{
				output.WriteRawTag(112);
				output.WriteUInt32(this.MonsterId);
			}
			if (this._unknownFields != null)
			{
				this._unknownFields.WriteTo(ref output);
			}
		}

		// Token: 0x0600CA5D RID: 51805 RVA: 0x002212F8 File Offset: 0x0021F4F8
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public int CalculateSize()
		{
			int num = 0;
			if (this.Uid != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.Uid);
			}
			if (this.ShareType != PunkLordShareType.None)
			{
				num += 1 + CodedOutputStream.ComputeEnumSize((int)this.ShareType);
			}
			if (this.MonsterId != 0U)
			{
				num += 1 + CodedOutputStream.ComputeUInt32Size(this.MonsterId);
			}
			if (this._unknownFields != null)
			{
				num += this._unknownFields.CalculateSize();
			}
			return num;
		}

		// Token: 0x0600CA5E RID: 51806 RVA: 0x00221368 File Offset: 0x0021F568
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(SharePunkLordMonsterCsReq other)
		{
			if (other == null)
			{
				return;
			}
			if (other.Uid != 0U)
			{
				this.Uid = other.Uid;
			}
			if (other.ShareType != PunkLordShareType.None)
			{
				this.ShareType = other.ShareType;
			}
			if (other.MonsterId != 0U)
			{
				this.MonsterId = other.MonsterId;
			}
			this._unknownFields = UnknownFieldSet.MergeFrom(this._unknownFields, other._unknownFields);
		}

		// Token: 0x0600CA5F RID: 51807 RVA: 0x002213CC File Offset: 0x0021F5CC
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		public void MergeFrom(CodedInputStream input)
		{
			input.ReadRawMessage(this);
		}

		// Token: 0x0600CA60 RID: 51808 RVA: 0x002213D8 File Offset: 0x0021F5D8
		[DebuggerNonUserCode]
		[GeneratedCode("protoc", null)]
		void IBufferMessage.InternalMergeFrom(ref ParseContext input)
		{
			uint num;
			while ((num = input.ReadTag()) != 0U)
			{
				if (num != 64U)
				{
					if (num != 88U)
					{
						if (num != 112U)
						{
							this._unknownFields = UnknownFieldSet.MergeFieldFrom(this._unknownFields, ref input);
						}
						else
						{
							this.MonsterId = input.ReadUInt32();
						}
					}
					else
					{
						this.Uid = input.ReadUInt32();
					}
				}
				else
				{
					this.ShareType = (PunkLordShareType)input.ReadEnum();
				}
			}
		}

		// Token: 0x0400512C RID: 20780
		private static readonly MessageParser<SharePunkLordMonsterCsReq> _parser = new MessageParser<SharePunkLordMonsterCsReq>(() => new SharePunkLordMonsterCsReq());

		// Token: 0x0400512D RID: 20781
		private UnknownFieldSet _unknownFields;

		// Token: 0x0400512E RID: 20782
		public const int UidFieldNumber = 11;

		// Token: 0x0400512F RID: 20783
		private uint uid_;

		// Token: 0x04005130 RID: 20784
		public const int ShareTypeFieldNumber = 8;

		// Token: 0x04005131 RID: 20785
		private PunkLordShareType shareType_;

		// Token: 0x04005132 RID: 20786
		public const int MonsterIdFieldNumber = 14;

		// Token: 0x04005133 RID: 20787
		private uint monsterId_;
	}
}
